import java.util.ArrayList;
import java.util.List;

public class text1 {
    //杨辉三角的实现；
    //规律：①：每一行的第一个位置都为1，并且末尾位置也为1；
     //     ②：每个中间元素都是上一行元素与上一行上一列元素的加和；
    //List<List<Integer>> 表示一个二维数组元素；
    public static List<List<Integer>> generate(int numRows){
        List<List<Integer>> ret =new ArrayList<>();//使用List接口，借助ArrayList实例化一个对象；
        List<Integer> list1=new ArrayList<>();
        list1.add(1);
        ret.add(list1);
        //开始进行第二行,进行求每个元素；
        for(int i=1;i<numRows;i++){
             List<Integer> curRow=new ArrayList<>();
             curRow.add(1);//第一个位置添加1；
            List<Integer> preRow=ret.get(i-1);
            for(int j=1;j<i;j++){
                int val1= preRow.get(j);
                int val2= preRow.get(j-1);
                curRow.add(val1+val2);
            }
            curRow.add(1);
            ret.add(curRow);
        }
        return ret;

    }
    public static void main(String[] args){
        List<List<Integer>> ret=generate(4);
        for(int i=0;i<ret.size();i++){
            for(int j=0;j<ret.get(i).size();j++){
                System.out.print(ret.get(i).get(j)+"");
            }
            System.out.println();
        }
    }
}
